Appium+Java+Maven+Android自动化测试框架搭建

您所在的位置:网站首页 app自动化框架 java Appium+Java+Maven+Android自动化测试框架搭建

Appium+Java+Maven+Android自动化测试框架搭建

#Appium+Java+Maven+Android自动化测试框架搭建| 来源: 网络整理| 查看: 265

声明 部分内容转载于以下文章: https://www.cnblogs.com/Jadie/p/6061428.html https://www.cnblogs.com/fnng/p/7683427.html https://blog.csdn.net/wuguixiaomei/article/details/82977265 https://blog.csdn.net/xl_lx/article/details/78717917

环境搭建:

Node.jsAndroid SDKJDK安卓模拟器appium-desktopMavenIDE - Intellij

开始搭建吧!

安装Node.js(Appium是使用Node.js平台编写的“HTTP服务器” ,使用Webdriver JSON有线协议驱动iOS和Android会话。因此,在初始化Appium Server之前,必须在系统上预安装Node.js)。安装版本:v10.15.1 地址:https://nodejs.org/download/release/, 选择node-v10.15.1-x64.msi 版本 验证是否已经安装成功,在dos界面输入命令:node -v, 如图: 在这里插入图片描述

下载Android SDK (这里也可以直接下载android studio),下载地址:http://tools.android-studio.org/index.php/sdk , 下载.exe文件后,一步步默认安装即可 在这里插入图片描述

编辑两个坏境变量: 变量名:ANDROID_HOME , 值:sdk安装路径,比如我的:C:\Users\herby\AppData\Local\Android\android-sdk 并在环境变量Path后面追加:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

安装完成了后,sdk目录下含有tools,platform-tools 需要自行到 Android SDK manager ,对默认下载项全部下载。

验证是否安装成功,输入命令行:adb ,显示如图: 在这里插入图片描述 3. JDK安装:下载JDK1.8版本,直接在官网下载 设置坏境变量:

环境变量名:JAVA_HOME, 值:JDK安装路径,如:C:\Program Files\Java\jdk1.7.0_01变量名: CLASSPATH, 值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar环境变量Path,值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 验证JDK是否安装成功,输入: java -version, 结果如图 在这里插入图片描述

安装安卓模拟器,我选择的是网易mumu(sdk自带的模拟器一直黑屏,目前还没有解决,难受。)下载地址:http://mumu.163.com/ ,安装一直点下一步即可,安装完成,可以测试下adb连接模拟器, 在dos界面输入命令:adb connect 127.0.0.1:7555 , 成功如下图:我之前已经连接过了,所以它提示已经连接了 在这里插入图片描述

安装appium-desktop, 下载地址:https://github.com/appium/appium-desktop/releases ,选择合适的版本,比如:appium-desktop-Setup-1.2.4.exe ,我下载是1.8.2 版本,下载安装一键完成,然后启动appium,如下图 在这里插入图片描述 点击启动,在点击start inspector session(右上角搜索图标),设置Desired capabilities,可以把自己定义好的保存下来,方便下次使用,不然关闭后就会消失掉。 在这里插入图片描述 点击Start Session 按钮,成功入下图:这里,我用小米便签做测试app 在这里插入图片描述 Desired Capabilities基本的设置如下: 设置参考官网:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

配置Maven:http://maven.apache.org/ 下载之后解压,放在一个指定目录: 设置环境变量 :

变量名:MAVEN_HOME, 值:maven所在路径变量名:Path,值:%MAVEN_HOME%\bin

验证是否配置成功,输入命令: mvn -v 在这里插入图片描述 maven本地仓库设置:打开Maven 的文件夹,打开conf->settings.xml,配置本地仓库地址,不修改则默认为C盘用户目录下的m2文件,可设置自己本地仓库存放的地址

设置仓库的镜像,在setting.xml文档中添加:

alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central

如图: 在这里插入图片描述 7. 安装Intellij ,官网一键安装即可。 到此环境搭建完毕。

接下来,创建maven的工程文件,开始编写自动化脚本

新建工程: 在这里插入图片描述 选择maven,填入groudId等 一直next即可,建好如下图: 在这里插入图片描述添加自动化所需的依赖,写入pom.xml 文件 io.appium java-client 4.1.2 test org.seleniumhq.selenium selenium-java 3.1.0 org.testng testng 7.0.0-beta1 test com.google.inject guice 3.0 test org.junit.jupiter junit-jupiter-api RELEASE compile io.appium java-client RELEASE compile 下载TestNG插件, settings > Plugins > 搜搜testng, 选中,点击OK 在这里插入图片描述 下载好并安装,右击工程文件,就会出现下图菜单: 在这里插入图片描述

从现在开始,我们开始编辑脚本。

首先编写一个基础class(Basic.java),配置启动被测app package util; import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.BeforeClass; import java.net.MalformedURLException; import java.net.URL; public class Basic{ public static AppiumDriver driver; @BeforeClass public void setUp() throws InterruptedException, MalformedURLException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("automationName", "Appium"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("platformVersion", "6.0.1"); capabilities.setCapability("appPackage", "com.xiaomi.notes"); capabilities.setCapability("app", "C:\\Users\\herby\\Downloads\\xiaomiNotes.apk"); capabilities.setCapability("clearSystemFiles", true); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities ); Thread.sleep(2000); } } 为了定位元素,创建 BasicPage.java,我们用selenium的PageFactory.initElements()方法进行初始化PageObject package Pages; import org.openqa.selenium.support.PageFactory; import util.Basic; public class BasicPage { public BasicPage() { //Initialize PageObject PageFactory.initElements(Basic.driver, this); } } 创建Page.java,继承BasicPage类,对元素进行初始化 package Pages; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; public class HomePage extends BasicPage { @FindBy(xpath = "//android.widget.ImageButton[@resource-id = 'com.xiaomi.notes:id/notelist_MenuBar_Add']") public WebElement btnOfAdd; } 编写测试脚本 addnotes.java, 继承Basic 类,case:打开笔记app,点击Add按钮 package TestCase; import Pages.HomePage; import org.testng.annotations.Test; import util.Basic; public class TC01_AddNotes extends Basic { HomePage homePage; @Test public void AddNotes(){ homePage = new HomePage(); homePage.btnOfAdd.click(); } } 运行脚本,运行前,确保adb已经连接模拟器,appium已启动。 在这里插入图片描述 运行结果: 在这里插入图片描述 待续…


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3